//variables globales
var id_sumi;
var detalle = new Array();
// fin variables globales

$(document).ready(function() {
	$("input,select").keyupEnter2tab();
	
	$("#pedidoForm").validate();
	// tooltips
	creaToolTips();
	// fin tooltips

	// botones
	Utiles_Botones.creaBotonAceptar("btn_pedido",enviaPedido);
	Utiles_Botones.creaBotonLimpiar("btn_pedido_limpiar",limpiaFormulario);
	// fin botones

	// autocompletes
	$("#desc_unidad_org").creaAutocompletable('get_unidades',{id:"codigo",desc:"descripcion"},recibeUnidades,true,1 );
	$("#desc_centro_costos").creaAutocompletable('get_centros_costos',{id:"codigo",desc:"descripcion"},recibeCentroCosto,true,1,{cod_uni : function() {return $("#cod_unidad_org").val();}} );
	$("#desc_proyectos").creaAutocompletable('get_proyectos',{id:"id_proyecto",desc:"nom_proyecto"},recibeProyecto,true,1 );
	// fin autocompletes

	// eventos change
	$("#cmb_zona").change(llenarComboLocalidad);
	// fin eventos change

	// calendario
	$('input.fecha_pedido').datepicker();
	// fin calendario

	// ajuste de componentes
	$(".cmb1").width($(".td_izq").width());
	$(".descripciones").width(360);
	$("#td_observaciones>textarea").width($("#td_observaciones").width());
	$(".panel_proyecto").hide();
	// fin ajuste de componentes

	// eventos click
	$('#add_tool').click(showDetallePedido);
	$("#chk_inversion").click(muestraInversion);
	$("#chk_encargo").click(muestraEncargo);
	// eventos click

	// eventos key
	$('#desc_unidad_org').keyClearValComponente("cod_unidad_org,cod_centro_costo,desc_centro_costos");
	$('#desc_centro_costos').keyClearValComponente("cod_centro_costo");
	//$('#cod_unidad_org').keyup(buscaUnidadOrganica);
	// fin eventos key
	//$('select').selectmenu({style:'dropdown',maxHeight: 100});
});

/*----------funciones------------*/

function agregaDetallePedido(){
	
 	if($("#frmSumi").valid()){
 		var is_existe_sumi=false;
 		$.each(detalle, function(){
	        if(this.id_suministro==$("#valor_id").val()){
	        	is_existe_sumi=true;
	        }
	      });
 		if(is_existe_sumi){
 			Utiles_MensajesDialogo.showMensajeAlerta("El suministro ya fue ingresado");
 			return false;
 		}
 		else{
 		  	if(!$("#chk_inversion").attr("checked"))
 		  		codigo=$("#cod_centro_costo").val();
 		  	else
 		  		codigo=$("#cod_proyecto").val();
 		  	
 			//$.getJSON("disponibilidad_suministro",{ codigo:codigo,isInversion:$("#chk_inversion").attr("checked"),localidad:$("#cmb_localidad").val(),anio:$("#anio_actual").html(),mes:$("#mes_actual").html(),id_sumi:suministro.codigo,empresa:$("#cmb_empresa").val(),cantidad:$("#valor_cantidad").val()}, function(rpta) {
 		  	var fechap = $("#fec_emision").val().split("/");
 		  	var mes=fechap[1];
 		  	var anio=fechap[2];
 		  	
 			$.getJSON("disponibilidad_suministro",{ codigo:codigo,isInversion:$("#chk_inversion").attr("checked"),localidad:$("#cmb_localidad").val(),anio:anio,mes:mes,id_sumi:suministro.codigo,empresa:$("#cmb_empresa").val(),cantidad:$("#valor_cantidad").val()}, function(rpta) {
 			
 				if(isNaN(rpta.respuesta)){
 					Utiles_MensajesDialogo.showMensajeAlerta(rpta.respuesta);
 				}
 				else{
 					agregaDetallePedidoValidado();
 				}				
 			});
 		}	
 	}
}


function creaToolTips() {
	$('#add_tool').bt();

	$('#cod_unidad_org').bt({
		trigger : [ 'focus', 'blur' ],
		positions : [ 'right' ]
	});
}

function llenarComboLocalidad() {
	var zona = $("#cmb_zona").val();
	$("#cmb_localidad").bindCombo("localidad_en_zona",{zona : zona},{id : "id_localidad",desc:"nom_localidad"});
}

function muestraInversion() {
	$(".panel_proyecto>td>input").attr("value","");
	$(".panel_unidades>td>input").attr("value","");
	
	if ($("#chk_inversion").attr("checked")) {
		$(".panel_proyecto>td>input").addClass("required");
		$(".panel_unidades>td>input").removeClass("required");
		
		$(".panel_unidades").fadeOut("slow");
		$(".panel_proyecto").fadeIn("slow");
	} else {
		$(".panel_proyecto>td>input").removeClass("required");
		$(".panel_unidades>td>input").addClass("required");
		
		$(".panel_unidades").fadeIn("slow");
		$(".panel_proyecto").fadeOut("slow");

	}
}

function muestraEncargo() {
	if ($("#chk_encargo").attr("checked")) {
		$("#cmb_empresa").removeAttr("disabled");
		$("#cmb_empresa").html("");
		opcion = "no_principal";
	} else {
		$("#cmb_empresa").attr("disabled", "disabled");
		$("#cmb_empresa").html("");
		opcion = "principal";
	}
	$("#cmb_empresa").bindCombo("get_empresas",{opcion : opcion},{id : "id_empresa",desc:"razon"});

}

function buscaUnidadOrganica(e) {
	// alert(e.keyCode);

	$('#desc_unidad_org').val("");

	if (e.keyCode == 13) {
		this.blur();

		if ($(this).val().length > 0) {
			$
					.getJSON(
							"getUnidad_org",
							{
								cod_uni : $(this).val()
							},
							function(data) {

								if (data.descripcion != null) {
									$('#desc_unidad_org').focus();
									$('#desc_unidad_org').attr("value",
											data.descripcion);
								}

								else {
									alert("La unidad Organizativa no existe o no tiene permiso a ella");
									$('#cod_unidad_org').val("");
								}

							});
		}

	}
}

function showDetallePedido() {
	var esta=false;
	var fecha = $("#fec_emision").val().split("/");
	if($("#anio_actual").html()!=fecha[2] || $("#mes_actual").html()!=fecha[1]){
		var mes=fecha[1];
		var anio=fecha[2];
		var aniop=$("#anio_actual").html();
		var mesi=parseInt(mes);
		var mesp=parseInt($("#mes_actual").html())+1;
		if(mesi<=12){
			if ((anio!=aniop) || (mesi!=mesp)) {
				Utiles_MensajesDialogo.showMensajeAlerta("La fecha debe ser solo un mes siguiente del mes actual: " + + mesp);
            }
			 else{
				Utiles_MensajesDialogo.showMensajeConfirmacion("La fecha debe coincidir con el mes actual, esta seguro que desea continuar",function(result){
					if(result=="Si"){
						Utiles_MensajesDialogo.showRequestDialog2('Detalle de Pedido', "jdSuministros",($('#tipo_pedido').val()=='true')?agregaDetallePedido:agregaDetallePedidoEmergencia,700,{pedido_normal:true});
                 }
			   });
             }
		}
		else{
			Utiles_MensajesDialogo.showMensajeAlerta("Ingrese una fecha de pedido valida");
		}
	}
	else{
		esta=true;
		Utiles_MensajesDialogo.showRequestDialog2('Detalle de Pedido', "jdSuministros",($('#tipo_pedido').val()=='true')?agregaDetallePedido:agregaDetallePedidoEmergencia,700,{pedido_normal:true});
	}
}

function agregaDetallePedidoEmergencia(){
	
 	if($("#frmSumi").valid()){
 		var is_existe_sumi=false;
 		$.each(detalle, function(){
	        if(this.id_suministro==$("#valor_id").val()){
	        	is_existe_sumi=true;
	        }
	      });
 		if(is_existe_sumi){
 			Utiles_MensajesDialogo.showMensajeAlerta("El suministro ya fue ingresado");
 			return false;
 		}
 		else{
 		  	if(!$("#chk_inversion").attr("checked"))
 		  		codigo=$("#cod_centro_costo").val();
 		  	else
 		  		codigo=$("#cod_proyecto").val();
 		  	
 			//$.getJSON("disponibilidad_suministro",{ codigo:codigo,isInversion:$("#chk_inversion").attr("checked"),localidad:$("#cmb_localidad").val(),anio:$("#anio_actual").html(),mes:$("#mes_actual").html(),id_sumi:suministro.codigo,empresa:$("#cmb_empresa").val(),cantidad:$("#valor_cantidad").val()}, function(rpta) {
 		  	var fechap = $("#fec_emision").val().split("/");
 		  	var mes=fechap[1];
 		  	var anio=fechap[2];	
 		  	agregaDetallePedidoValidado();
 		}	
 		
 	}
}

function enviaPedido() {
		
	if ($("#pedidoForm").valid()) {
		$("#fec_emision").removeAttr("disabled");
		var fecha = $("#fec_emision").val().split("/");
		/*if($("#anio_actual").html()!=fecha[2] || $("#mes_actual").html()!=fecha[1]){
			Utiles_MensajesDialogo.showMensajeAlerta("La fecha debe coincidir con el mes actual: " + $("#anio_actual").html() + " - " + $("#mes_actual").html());
			return;
		}*/
		if($("#anio_actual").html()!=fecha[2] || $("#mes_actual").html()!=fecha[1]){
			var mes=fecha[1];
			var anio=fecha[2];
			var aniop=$("#anio_actual").html();
			var mesi=parseInt(mes);
			var mesp=parseInt($("#mes_actual").html())+1;
			if(mesi<=12){
				if ((anio!=aniop) || (mesi!=mesp)) {
					Utiles_MensajesDialogo.showMensajeAlerta("La fecha debe ser solo un mes siguiente del mes actual: " + anio + " - " + mesp);
					return
				}
			}
			else{
				Utiles_MensajesDialogo.showMensajeAlerta("Ingrese una fecha de pedido valida");
				return
			}
		}
			var fields = $("#pedidoForm").serializeObject();
			var obj = new Object();
			obj.detalle = detalle;
			fields.detalle = obj;
			//$(document).ajaxStart(function(){ 
			Utiles_MensajesDialogo.showMensajeModal("Espere un momento!!");
			//});
			$.postJSON("prueba_submit", fields, function(rpta) {
				Utiles_MensajesDialogo.closeMensajeModal();
				if(rpta.respuesta){
					Utiles_MensajesDialogo.showMensajeInfo("Se genero correctamente el pedido : "+rpta.mensaje);
					limpiaFormulario();
				}
				else
					Utiles_MensajesDialogo.showMensajeFracaso();
				
				
				 
			});
		//$(document).ajaxStop(function(){
		}	
		//});
	}


function limpiaFormulario(){
	if ($("#chk_inversion").attr("checked")) {
		$("#pedidoForm").reset();
		$("#chk_inversion").attr("checked",true);
	}
	else
		$("#pedidoForm").reset();
	/*detalle=jQuery.grep(detalle, function(value) {
	    return value ;
	});*/
	detalle = new Array();
	$("#tb_sumi>tbody>tr.data").remove();
}

function recibeUnidades(e, item){
	$("#cod_unidad_org").val($.trim(item.codigo));
	$("#desc_unidad_org").val($.trim(item.descripcion));
}

function recibeCentroCosto(e, item){
	$("#cod_centro_costo").val($.trim(item.codigo));
	$("#desc_centro_costos").val($.trim(item.descripcion));
}

function recibeProyecto(e, item){
	$("#cod_proyecto").val(item.id_proyecto);
	$("#desc_proyectos").val(item.nom_proyecto);
}

/*----------fin funciones------------*/

